package com.xunyin.modules.couponnew.service.dto;


import com.xunyin.modules.mtstore.domain.MtStore;
import com.xunyin.modules.user.domain.YxUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 我的卡券DTO
 * <p>
 * Created by xunyinyunshang <3594419785@qq.com>
 * CopyRight 讯音云商 https://www.tonetn.com
 */
@Data
public class MyCouponDto implements Serializable {

    /**
     * 自增ID
     */
    private Integer id;

    /**
     * 卡券名称
     */
    private String name;

    /**
     * 核销编码
     */
    private String code;

    /**
     * 卡券类型
     */
    private String type;

    /**
     * 状态
     */
    private String status;

    /**
     * 券ID
     */
    private Integer couponId;

    /**
     * 使用规则
     */
    private String useRule;

    /**
     * 图片
     */
    private String image;

    /**
     * 面额
     */
    private BigDecimal amount;

    /**
     * 余额
     */
    private BigDecimal balance;

    /**
     * 是否可以使用(过期、状态等)
     */
    private boolean canUse;

    /**
     * 有效期
     */
    private String effectiveDate;

    /**
     * 小提示
     */
    private String tips;

    /**
     * 使用时间
     */
    private Date usedTime;

    /**
     * 领券时间
     */
    private Date createTime;

    /**
     * 有效期-天数 0 表示不限制，大于0表示具体限制天数
     */
    private Integer limitDay;

    /**
     * 可用的星期,逗号隔开
     */
    private String availWeekdays;

    /**
     * 适用时间段,逗号隔开
     */
    private String availTimescale;

    /**
     * 适用房间（包厢），当适用一个门店可选择，如果选择所属多门店，默认为空，不能选择适应房间
     */
    private String roomIds;

    /**
     * 卡券类型-小时卡特有属性,设置小时数
     */
    private Integer hourCount;


    @ApiModelProperty("卡券类型-小时卡特有属性,剩余小时数")
    private BigDecimal remHourCount;

    @ApiModelProperty("卡券类型-次数卡(次卡)特有属性,可使用总次数")
    private Integer useableCount;

    @ApiModelProperty("卡券类型-次数卡(次卡)特有属性,每次可使用小时数")
    private Integer everyUseableHourCount;

    @ApiModelProperty("卡券类型-次数卡(次卡)特有属性,剩余可使用次数")
    private Integer remUseableCount;

    @ApiModelProperty("卡券类型-优惠券特有属性,满多少金额可用规则")
    private BigDecimal reachMoney;

    /**
     * 会员信息
     */
    private YxUser userInfo;

    /**
     * 使用店铺
     */
    private MtStore storeInfo;

    private String startText;

    @ApiModelProperty("用户手机号码")
    private String mobile;

}
